class login_data:
    """
    本类包含了登陆成功后登录微信的各项信息
    """

    def __init__(self, login_msg: dict):
        """
        初始化
        :param login_msg: 登陆成功回调的登录信息
        """
        self.wxid: str = login_msg['data']['wxid']  # wxid
        self.wxNum: str = login_msg['data']['wxNum']  # 微信号
        self.nick: str = login_msg['data']['nick']  # 微信昵称
        self.device: str = login_msg['data']['device']  # 移动端设备型号
        self.phone: str = login_msg['data']['phone']  # 绑定的手机号
        self.avatarUrl: str = login_msg['data']['avatarUrl']  # 头像链接
        self.country: str = login_msg['data']['country']  # 国家
        self.province: str = login_msg['data']['province']  # 省份
        self.city: str = login_msg['data']['city']  # 城市
        self.email: str = login_msg['data']['email']  # 绑定的邮箱地址
        self.qq: str = login_msg['data']['qq']  # 绑定的qq号码
        self.wxport: int = login_msg['port']  # 微信绑定的端口


class group_msg_data:
    """
    本类包含了收到群消息后的各个消息参数
    """

    def __init__(self, msg_data: dict):
        """
        初始化类，实现自定义数据类型
        :param msg_data: 收到消息回调的消息信息
        """
        self.msgType: int = msg_data['data']['msgType']  # 消息类型
        self.from_wxid: str = msg_data['data']['fromWxid']  # 发送群wxid
        self.finnalWxid: str = msg_data['data']['finalFromWxid']  # 发送群成员wxid
        self.at_wxid_list: list = msg_data['data']['atWxidList']  # 艾特人员列表，自己发送时无法获取
        self.membercount: int = msg_data['data']['membercount']  # 群成员数量，自己发送的信息回调中无法获取
        self.msg: str = msg_data['data']['msg']  # 消息内容
        self.robot_wxid: str = msg_data['wxid']  # 机器人wxid
        self.wxport: int = msg_data['port']  # 机器人绑定的端口


class friend_msg_data:
    """
    本类包含了收到好友消息后的各个消息参数
    """

    def __init__(self, msg_data):
        """
        初始化类，实现自定义数据类型
        :param msg_data: 收到消息回调的消息信息
        """
        self.msgType: int = msg_data['data']['msgType']  # 消息类型
        self.from_wxid: str = msg_data['data']['fromWxid']  # 发送好友wxid
        self.msg: str = msg_data['data']['msg']  # 消息内容
        self.robot_wxid: str = msg_data['wxid']  # 机器人wxid
        self.wxport: int = msg_data['port']  # 机器人绑定的端口


